<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>关系运算符</title>
</head>
<body>
    
</body>
</html>
<script>
    /*
        通过关系运算符可以比较两个值之间的大小关系
            如果关系成立他会返回true，如果关系不成立则返回false
        >   大于号
            - 判断符号左侧的值是否大于右侧的值
            - 如果关系成立，返回true，如果关系不成立则返回false
        >=  大于等于
            - 判断符号左侧的值是否大于或等于右侧的值
        <   小于号
        <=  小于等于号

        非数值的情况
            - 对于非数值进行比较时，会将其转换为数字，再比较
            - c
    */
    // > 大于号
    let result = 5 > 2; // true
    result = 5 > 8;     // false
    result = 5 > 5;     // false

    // >= 大于等于号
    result = 5 >= 5;    // true
    result = 5 >= 4;    // true
    result = 5 >= 6;    // false
    
    // < 小于号
    result = 5 < 4;     // false
    result = 5 < 6;     // true
    result = 5 < 5;     // false

    // <= 小于等于号
    result = 5 <= 5;    // true
    result = 5 <= 4;    // false
    result = 5 <= 6;    // true

    console.log("result = "+result);
//=================== 非数值的情况
    console.log("非数值的情况");  
    console.log(1 > true);    // false
    console.log(1 >= true);   // true
    console.log(1 >= "0");    // true
    console.log(10 > null);    // true

    //任何值和 NaN 做任何比较都是 false
        //  -字符串转换为Number类型，如果含有非数字内容，则直接转化为NaN
    console.log(10 > "hello")   // false
    console.log(10 < "hello")   // false


    console.log(true > false);  // true
    console.log("1" < "5");     // true
    console.log("11" < "5");    // true
    console.log("61" < "5");    // false   如果比较的是纯数值字符串，则先比较首位数字的大小，而不是值的大小
    console.log("41" < "8");    // true

    // 比较两个字符串时，会比较字符串的字符编码
    console.log("↑↑↑↑↑↑↑↑↑↑");
    // console.log("a" < "b");     // true
    // 比较字符编码时，是一位一位进行比较
    // 如果两位一样，则比较下一位，所以借用他来对英文进行排序
    console.log("abc" < "b");      // true
    console.log("bbc" < "b");      // false
    
    // 如果比较的两个字符串型的数字，可能会得到不可预期的结果
    // 注意：在比较两个字符串型的数字时，一定一定要转型
    console.log("1123423" < 5);
</script>